翻訳と辞書
Words near each other
・ Stack light
・ Stack Light Rifle
・ Stack machine
・ Stack magazine
・ Stack Overflow
・ Stack overflow
・ Stack overflow (disambiguation)
・ Stack Pierce
・ Stack register
・ Stack Resource Policy
・ Stack Rock Fort
・ Stack search
・ Stack Soap
・ Stack Square
・ Stack Stalk
Stack trace
・ Stack v Dowden
・ Stack v. Boyle
・ Stack Waddy
・ Stack Waddy (album)
・ Stack's Mountains
・ Stack-based memory allocation
・ Stack-O-Tracks
・ Stack-oriented programming language
・ Stack-sortable permutation
・ Stack-Up
・ Stackable switch
・ Stackdriver
・ Stacked
・ Stacked (film)


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Stack trace : ウィキペディア英語版
Stack trace
In computing, a stack trace (also called stack backtrace〔(【引用サイトリンク】 title=libc manual: backtraces )〕 or stack traceback〔(【引用サイトリンク】 title=traceback — Print or retrieve a stack traceback )〕) is a report of the active stack frames at a certain point in time during the execution of a program. When a program is run, memory is often dynamically allocated in two places; the stack and the heap. Memory is contiguously allocated on a stack but not on a heap, thus reflective of their names. Stack also refers to a programming construct, thus to differentiate it, this stack is referred as the program's runtime stack. Technically, once a block of memory has been allocated on the stack, it cannot be easily removed as there can be other blocks of memory that were allocated before it. Each time a function is called in a program, a block of memory is allocated on top of the runtime stack called the activation record. At a high level, an activation record allocates memory for the function's parameters and local variables declared in the function.
Programmers commonly use stack tracing during interactive and post-mortem debugging. End-users may see a stack trace displayed as part of an error message, which the user can then report to a programmer.
A stack trace allows tracking the sequence of nested functions called - up to the point where the stack trace is generated. In a post-mortem scenario this extends up to the function where the failure occurred (but was not necessarily caused). Sibling function calls do not appear in a stack trace.
As an example, the following Python program contains an error.

def a():
i = 0
j = b(i)
return j

def b(z):
k = 5
if z == 0:
c()
return k/z

def c():
error()

a()

Running the program under the standard Python interpreter produces the following error message.

Traceback (most recent call last):
File "tb.py", line 15, in
a()
File "tb.py", line 3, in a
b()
File "tb.py", line 9, in b
c()
File "tb.py", line 13, in c
error()
NameError: global name 'error' is not defined

The stack trace shows where the error occurs, namely in the c function. It also shows that the c function was called by b, which was called by a, which was in turn called by the code on line 15 (the last line) of the program. The activation records for each of these three functions would be arranged in a stack such that the a function would occupy the bottom of the stack and the c function would occupy at the top of the stack.
==Language support==
Many programming languages, including Java and C#, have built-in support for retrieving the current stack trace via system calls. C++ has no built-in support for doing this, but C++ users can retrieve stack traces with (for example) the (stacktrace ) library. In JavaScript exceptions hold a stack property that contain the stack from the place where it was thrown.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Stack trace」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.